﻿using DocumentFormat.OpenXml.Wordprocessing;
using Magicodes.ExporterAndImporter.Core;
using Magicodes.ExporterAndImporter.Excel;
using NP.BPMReportPlatform.Entities.BPM_Business.Reports;
using OfficeOpenXml.Table;
using System;
using System.Collections.Generic;
using System.Text;

namespace NP.BPMReportPlatform.Reports.CommonApprovalProcessReport.Dtos
{
    [ExcelExporter(Name = "通用审批流程报表", TableStyle = TableStyles.Light10, AutoFitAllColumn = true)]
    public class GetCommonApprovalProcessOutput
    {
        /// <summary>
        /// 流程编号
        /// </summary>
        [ExporterHeader(DisplayName = "流程编号")]
        public string InstanceNumber { get; set; }

        /// <summary>
        /// 单据详情链接
        /// </summary>
        [IEIgnore(IsExportIgnore = true)]
        public string Url { get; set; }

        /// <summary>
        /// 流程主题
        /// </summary>
        [ExporterHeader(DisplayName = "流程主题")]
        public string Topic { get; set; }

        /// <summary>
        /// 发起人
        /// </summary>
        [ExporterHeader(DisplayName = "申请人")]
        public string StartUserName { get; set; }

        /// <summary>
        /// 制单日期
        /// </summary>
        [ExporterHeader(DisplayName = "制单日期")]
        public DateTime StartTime { get; set; }

        /// <summary>
        /// 状态
        /// </summary>
        [ExporterHeader(DisplayName = "状态")]
        public string StatusName { get; set; }

        /// <summary>
        /// 状态码
        /// </summary>
        public string StatusCode { get; set; }

        public string Text1 { get; set; }

        public string Text2 { get; set; }

        public string Text3 { get; set; }

        public string Text4 { get; set; }

        public string Text5 { get; set; }

        public string Text6 { get; set; }

        public string Text7 { get; set; }

        public string Text8 { get; set; }

        public string Text9 { get; set; }

        public string Text10 { get; set; }

        public string Text11 { get; set; }

        public string Text12 { get; set; }

        public string Text13 { get; set; }

        public string Text14 { get; set; }

        public string Text15 { get; set; }

        public string Text16 { get; set; }

        public string Text17 { get; set; }

        public string Text18 { get; set; }

        public string Text19 { get; set; }

        public string Text20 { get; set; }

        public string TextArea1 { get; set; }
        public string TextArea2 { get; set; }
        public string TextArea3 { get; set; }
        public string TextArea4 { get; set; }
    }

    public class GetConfigsOutput
    {
        public List<CommonApprovalProcessConfig> configList { get; set; } = new List<CommonApprovalProcessConfig>();

        public CommonApprovalProcessConfigHeader header { get; set; } = new CommonApprovalProcessConfigHeader();
    }
}
